One-line install: make leap-finetune pip/uv installable from PyPI#18
Closed
One-line install: make leap-finetune pip/uv installable from PyPI#18
Conversation
Outlines the three targeted changes needed to make `leap-finetune` installable with a single `pip install` or `uv tool install`, removing the current git clone requirement and lowering the barrier to adoption.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
Right now, trying out
leap-finetunerequires four commands before you can even run a training job:Requiring a
git clonesignals this is a research repo, not a production-ready tool. Developers evaluating it will bounce off this friction before they ever run anything.The goal
Reduce this to one command, for both pip and uv users:
pip install leap-finetune # or uv tool install leap-finetuneWhy it matters for adoption
Every comparable tool in this space (
trl,axolotl,unsloth,litgpt) is one-line installable from PyPI. Users expect this. Without a PyPI listing we also get zero organic discoverability. The fix is low-effort (three small file changes) with high upside.What this PR contains
A detailed proposal (
PROPOSAL_one_line_install.md) describing the three targeted changes needed:job_configs/inside the package so it travels with the installed wheel.constants.pyto useimportlib.resourcesinstead of walking up from__file__.config_resolver.pyto find bundled configs viaimportlib.resources.The actual implementation is a follow-up. This PR is intended to align the team on the approach before we write any code.
What stays the same
The clone-and-run developer workflow is completely unaffected. Config resolution checks local paths first, so existing contributors see no change.
See
PROPOSAL_one_line_install.mdfor the full cost-benefit breakdown and details.